package com.wtone.platform.gat.images.gat.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

/**
 * @Author: aiLin
 * @Date: 2020/9/26 18:15
 * @desc: 通知对象 SubscribeNotification 特征属性
 *
 * 	在标准基础上进行调整：
 * 	（1）增加数据分类标签字段，用于通知数据分类标签的变
 * 	化；
 * 	（2）增加更新项目字段，用于明确被通知信息的更新动作
 * 	视图库对接技术要求
 *
 */
@Data
@ToString
@NoArgsConstructor                 //无参构造
@AllArgsConstructor                //有参构造
@ApiModel(value="SubscribeNotification对象",description="通知对象信息对象")
public class SubscribeNotification {


    @ApiModelProperty(value="通知标识,该订阅通知标识符,唯一值",example = "012314001711042019041120330906729")
    @JsonProperty("NotificationID")
	private String NotificationID;

    @ApiModelProperty(value="订阅标识",example = "012314001711032019010118051124999")
    @JsonProperty("SubscribeID")
    private String SubscribeID;

    @ApiModelProperty(value="订阅标题,描述订阅的主题和目标 ",example = "dyx0411_1706")
    @JsonProperty("Title")
    private String Title;

    @ApiModelProperty(value="触发时间",example = "20190411203309")
    @JsonProperty("TriggerTime")
    private String  TriggerTime;

    @ApiModelProperty(value="订阅通知的详细信息(人员、人脸、机动车、非机动车、物品、场景)标识集合",example = "MotorVehicle")
    @JsonProperty("InfoIDs")
    private String  InfoIDs;

    @ApiModelProperty(value="视频案事件,视频案事件信息数据集")
    @JsonProperty("CaseObjectList")
    private String   CaseObjectList;


    @ApiModelProperty(value="视频卡口,视频卡口信息数据集")
    @JsonProperty("Tollgate")
    private String Tollgate;

    @ApiModelProperty(value="车道,车道信息数据集")
    @JsonProperty("Lane")
    private String Lane;

    @ApiModelProperty(value="设备,设备信息数据集")
    @JsonProperty("DeviceList")
    private String DeviceList;

    @ApiModelProperty(value="设备状态,该通知针对批量订阅方式")
    @JsonProperty("DeviceStatusList")
    private String DeviceStatusList;

    @ApiModelProperty(value="采集系统,设备网管信息数据集")
    @JsonProperty("APSObjectList")
    private String  APSObjectList;

    @ApiModelProperty(value="采集系统状态,该通知针对批量订阅方式")
    @JsonProperty("APSStatusObjectList")
    private String APSStatusObjectList;

    @ApiModelProperty(value="人员信息,人员信息数据集")
    @JsonProperty("PersonObjectList")
    private String  PersonObjectList;

    @ApiModelProperty(value="人脸信息,人脸信息数据集")
    @JsonProperty("FaceObjectList")
    private FaceListObject  FaceObjectList;

    @ApiModelProperty(value="机动车信息,机动车(过车)信息数据集")
    @JsonProperty("MotorVehicleObjectList")
    private MotorVehicleObject   MotorVehicleObjectList;

    @ApiModelProperty(value=" 非机动车信息,非机动车(过车)信息数据集")
    @JsonProperty("NonMotorVehicleObjectList")
    private String NonMotorVehicleObjectList;

    @ApiModelProperty(value="物品信息,物品列表")
    @JsonProperty("ThingObjectList")
    private String  ThingObjectList;


    @ApiModelProperty(value="场景信息 , 场景列表")
    @JsonProperty("SceneObjectList")
    private String SceneObjectList;


    @ApiModelProperty(value="数据分类标签 ,  数据分类标签数据集")
    @JsonProperty("DataClassTabObjectList")
    private String DataClassTabObjectList;

    @ApiModelProperty(value="更新项目,  1-添加 2-修改3-删除")
    @JsonProperty("ExecuteOperation")
    private int  ExecuteOperation;
}
